package com.es.system.domain;

/**
 * 描述:
 * Old-AgeCareSystem-
 *
 * @author Derek
 * @create 2021-12-06 10:14
 */

import java.io.Serializable;
import java.time.LocalDateTime;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 用户操作日志
 * </p>
 *
 * @author everysucceed
 * @since 2021-12-06
 */
@Getter
@Setter
@ApiModel(value = "SysOperateLog对象", description = "用户操作日志")
public class SysOperateLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("数据主键")
    private Long id;

    @ApiModelProperty("操作描述")
    private String description;

    @ApiModelProperty("操作类型 0: 1: 2: 3:其他")
    private String businessType;

    @ApiModelProperty("请求方式")
    private String requestMethod;

    @ApiModelProperty("请求方法")
    private String method;

    @ApiModelProperty("资源url")
    private String operateUrl;

    @ApiModelProperty("资源名称")
    private String operateName;

    @ApiModelProperty("客户端ip")
    private String clientIp;

    @ApiModelProperty("请求参数")
    private String requestParam;

    @ApiModelProperty("请求消息体")
    private String requestBody;

    @ApiModelProperty("请求消息体")
    private String responseBody;

    @ApiModelProperty("是否成功 0：success 1： 失败")
    private Integer success;

    @ApiModelProperty("操作类型 0: login 1: 业务操作")
    private Integer loggingType;

    @ApiModelProperty("错误信息")
    private String errorMsg;

    @ApiModelProperty("客户端操作系统")
    private String clientOs;

    @ApiModelProperty("操作时间")
    //@JsonFormat(shape=JsonFormat.Shape.STRING)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime createTime;

    @ApiModelProperty("操作人")
    private String operatorName;

    @ApiModelProperty("请求头")
    private String heads;

    @ApiModelProperty("客户端浏览器")
    private String clientBrowser;


}
